In data processors, performance is determined by operation frequency. In order to conserve power, some modern complementary metal oxide semiconductor (CMOS) data processors have adopted adaptive voltage and frequency scaling (AVFS). AVFS allows an operating system (OS) to adaptively scale a data processor's clock frequency and to set the power supply voltage to a level that is based on the clock frequency. The speed is set high enough for current processing tasks, but not too high so that power consumption can be kept low. For example, if on average the data processor is heavily utilized, then the OS determines that the clock frequency should be increased. On the other hand if on average the data processor is lightly utilized, then the OS determines that the clock frequency should be decreased.
Processors that support AVFS conveniently allow their frequencies and voltages to be increased as directed by the OS up to their performance limits. The difference between the performance limit and the current frequency and/or voltage is known as headroom. Accurately determining the available headroom of the data processor can be difficult as process, voltage, and temperature (PVT) vary.
In the following description, the use of the same reference numerals in different drawings indicates similar or identical items. Unless otherwise noted, the word “coupled” and its associated verb forms include both direct connection and indirect electrical connection by means known in the art, and unless otherwise noted any description of direct connection implies alternate embodiments using suitable forms of indirect electrical connection as well.